繼續解析PivotTable.js,今天有兩部分小幅度的進展,第一部分是在於關於導入chart.js的問題,第二部分是PivotTable運作的結構:
首先關於昨天提到在導入chart.js時,上層會出現error,其原因上層會呼叫資料的屬性,而用chart.js時會沒有那個屬性。而且即使以另外產生張chart.js的圖表(原本的圖表保留),但由於與將資料給進chart.js時,array(以及object)是傳遞位址,所以上層在呼叫資料的屬性時也會指錯,這可以參考此說明。所以這個問題要根治也是大手術。
第二是關於PivotTable的運作,在它的code中有大綱的註解,分別是:
Utilities、Data Model class、Default Renderer、
Pivot Table core、Pivot Table UI、以及post-processing(Heatmap and Barchart),其中 Data Model class只記錄了資料的結構,而實際樞紐後的結果是分別再產生表格或是產生圖表(plotly_renderers.js)時才做的。這意味的如果我們要從PivotTable.js挖出pivot功能,除了至少包上Data Model class外,還需再做一層資料轉換層,再給到Bootstrap table或是chart.js。
時間,能夠改變一切。